#ifndef __LOGIN_H__
#define __LOGIN_H__

#include <string>

#include "clientMessage.h"

class LoginUI : public BaseHandle<ClientResultMessgae>
{
public:
    LoginUI(std::string addr, int port);
    ~LoginUI();

    /*
     * UI 主线程
     */
    void run();
    
public:
    virtual bool handle(const ClientResultMessgae *pMsg);

private:
    void loginMainUI();

    /*
     * 作者：李江军
     * 日期：2022-08-08
     * 
     * 设置边框宽度，当设置宽度超过终端最大宽度时取终端最大宽度
     */
    void setBorderWidth(int w);

private:
    int                     m_length;                   // 字符串总长度
    int                     m_startPos;                 // 字符串显示起点位置
    char                    m_horizontalBorder;         // 水平边框字符
    char                    m_verticalBorder;           // 垂直边框字符
    std::string             m_borderStyle;              // 外边框字符样式
};

#endif // __LOGIN_H__